home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 1996 May / cd joy 71No13.iso / pc / demos / eurosoc / source / sosfnct.h < prev    next >
C/C++ Source or Header  |  1995-02-05  |  9KB  |  201 lines

  1. /****************************************************************************
  2.  
  3.    File              : sosfnct.h
  4.  
  5.    Programmer(s)     : Don Fowler, Nick Skrepetos
  6.    Date              :
  7.  
  8.    Purpose           : Include Files For Zortech C++ Compiler
  9.  
  10.    Last Updated      :
  11.  
  12. ****************************************************************************
  13.                Copyright(c) 1993,1994 Human Machine Interfaces 
  14.                             All Rights Reserved
  15. ****************************************************************************/
  16.  
  17. #ifndef  _SOS_FUNCTIONS
  18. #define  _SOS_FUNCTIONS
  19.  
  20. #pragma pack(4)
  21.  
  22. WORD sosDIGILockMemory          (  VOID  );
  23. WORD sosDIGIUnLockMemory        (  VOID  );
  24. WORD sosDIGIInitSystem           (  LPSTR, WORD  );
  25. WORD sosDIGIUnInitSystem         (  VOID  );
  26. WORD sosDIGIInitDriver           (  WORD, _SOS_HARDWARE far *,
  27.                                     _SOS_INIT_DRIVER far *, WORD far *   );
  28. WORD sosDIGIUnInitDriver         (  WORD, BOOL, BOOL  );
  29. WORD sosDIGILoadDriver          (  WORD, WORD, LPSTR far *, LPSTR far *, PSTR, PSTR, WORD * );
  30. WORD sosDIGIUnLoadDriver         (  WORD  );
  31. WORD sosDIGIGetDeviceCaps        (  WORD, LPSOSDEVICECAPS  );
  32.  
  33. #ifdef PHARLAP
  34. LPSTR sosDIGIAllocateBuffer      (  WORD , WORD *, WORD * );
  35. #else
  36. LPSTR sosDIGIAllocateBuffer      (  WORD , WORD *, WORD * );
  37. #endif
  38.  
  39. WORD sosDIGIStopSample           (  WORD, WORD  );
  40. WORD sosDIGISamplesPlaying       (  WORD  );
  41. BOOL sosDIGISampleDone           (  WORD, WORD  );
  42. BOOL sosDIGISampleFilling        (  WORD, WORD  );
  43. WORD sosDIGIStartSample          (  WORD, _SOS_START_SAMPLE far *  );
  44. WORD sosDIGIContinueSample       (  WORD, WORD, _SOS_START_SAMPLE far * );
  45.  
  46.  
  47. WORD  sosDIGIDetectInit          (  LPSTR  );
  48. WORD  sosDIGIDetectUnInit        (  VOID  );
  49. WORD  sosDIGIDetectFindHardware  (  WORD, _SOS_CAPABILITIES far *, WORD far * );
  50. WORD  sosDIGIDetectFindFirst     (  _SOS_CAPABILITIES far *, WORD far *  );
  51. WORD  sosDIGIDetectFindNext      (  _SOS_CAPABILITIES far *, WORD far *  );
  52. WORD  sosDIGIDetectGetSettings   (  _SOS_HARDWARE far *  );
  53. WORD  sosDIGIDetectGetCaps       (  WORD, _SOS_CAPABILITIES far *  );
  54. WORD  sosDIGIDetectVerifySettings(  _SOS_HARDWARE far *  );
  55. PSTR  sosGetErrorString          (  WORD  );
  56.  
  57. WORD  sosDIGILoadTimer           (  WORD , LPSTR far *, LPSTR far *, PSTR, PSTR, WORD * );
  58. WORD  sosDIGIUnLoadTimer         (  WORD  );
  59.  
  60. WORD  sosTIMERRegisterEvent      ( WORD wCallRate, VOID ( far * lpTimerEvent )( VOID ), WORD far *lpTimerHandle );
  61. WORD  sosTIMERInitSystem               (  WORD, WORD  );
  62. WORD  sosTIMERUnInitSystem             (  WORD  );
  63. WORD  sosTIMERSetRate                  (  WORD  );  
  64. WORD  sosTIMERRemoveEvent              (  WORD );
  65. WORD  sosTIMERAlterEventRate           (  WORD, WORD  );
  66. WORD  sosTIMERGetEventRate             (  WORD  );
  67. VOID far sosTIMEROldHandler            (  VOID  );
  68. VOID far sosTIMERHandler               (  VOID  );
  69.  
  70. // functions in soscntl.c
  71. WORD  sosDIGISetSampleVolume     ( WORD, WORD, WORD );
  72. WORD  sosDIGIGetSampleVolume     ( WORD, WORD );
  73. WORD  sosDIGISetChannel          ( WORD, WORD, WORD );
  74. WORD  sosDIGIGetChannel          ( WORD, WORD );
  75. WORD  sosDIGIGetBytesProcessed   ( WORD, WORD );
  76. WORD  sosDIGIGetLoopCount        ( WORD, WORD );
  77. WORD  sosDIGISetPanLocation      ( WORD, WORD, WORD );
  78. WORD  sosDIGIGetPanLocation      ( WORD, WORD );
  79. DWORD sosDIGISetPitch            ( WORD, WORD, DWORD );
  80. DWORD sosDIGIGetPitch            ( WORD, WORD );
  81. WORD  sosDIGIGetDMAPosition      ( WORD );
  82. WORD  sosDIGISetPanSpeed         ( WORD, WORD, WORD );
  83. WORD  sosDIGIGetPanSpeed         ( WORD, WORD );
  84. WORD  sosDIGIGetSampleID         ( WORD, WORD );
  85. WORD  sosDIGIGetSampleHandle     ( WORD, WORD );
  86. WORD  sosDIGISetMasterVolume     ( WORD, WORD );
  87. #ifdef PHARLAP
  88. VOID  sosFreeVDSPage          ( unsigned short, unsigned short, DWORD );
  89. WORD  sosAllocVDSPage         ( unsigned short *, unsigned short *, DWORD * );
  90. #else
  91. WORD  sosAllocVDSPage            ( LPSTR *, WORD *, WORD * );
  92. VOID  sosFreeVDSPage             ( WORD, WORD, LONG );
  93. #endif
  94.  
  95. #ifdef __cplusplus
  96. extern "C" {
  97. #endif
  98.  
  99. #ifdef PHARLAP
  100. extern   int   cdecl sosRealFree          ( int );
  101. extern   BOOL  cdecl  _sos_read( WORD, LPSTR, WORD, WORD * );
  102. extern   int   cdecl sosRealAlloc( int, int *, int * );
  103. extern   void  cdecl sosDRVFarMemCopy( LPSTR, LPSTR, WORD );
  104. extern   int   cdecl sosGetCS( VOID );
  105. extern   int   cdecl sosGetES( VOID );
  106. #else
  107. extern   int   cdecl sosRealAlloc         ( int, int *, int * );
  108. extern   int   cdecl sosRealFree          ( int );
  109. #endif
  110.  
  111. // sos driver functions
  112. extern   WORD  cdecl sosDRVLockMemory     ( DWORD, DWORD );
  113. extern   WORD  cdecl sosDRVUnLockMemory   ( DWORD, DWORD );
  114. extern   void  cdecl sosDRVGetCapsInfo    ( LPSTR, LPSTR, _SOS_CAPABILITIES far * );
  115. extern   void  cdecl sosDetDRVGetCapsInfo ( LPSTR, LPSTR, _SOS_CAPABILITIES far * );
  116. extern   void  cdecl sosDRVGetCapsPtr     ( LPSTR, LPSTR, _SOS_CAPABILITIES far * );
  117. extern   void  cdecl sosDRVInit           ( LPSTR, LPSTR, int, int, int, int, int, int );  
  118. extern   void  cdecl sosDRVStart          ( LPSTR, LPSTR, int, int );
  119. extern   void  cdecl sosDRVSetRate        ( LPSTR, LPSTR, int );
  120. extern   void  cdecl sosDRVSetAction      ( LPSTR, LPSTR );
  121. extern   void  cdecl sosDRVStop           ( LPSTR, LPSTR );
  122. extern   void  cdecl sosDRVUnInit         ( LPSTR, LPSTR );
  123. extern   void  cdecl sosDRVGetFillInfo    ( LPSTR, LPSTR, LPSTR, int, int, int, _SOS_FILL_INFO * );
  124. extern   void  cdecl sosFillSampleStructs ( PSTR, LPSTR );
  125. extern   WORD  cdecl sosDetDRVExist       ( LPSTR, LPSTR );
  126. extern   WORD  cdecl sosDetDRVGetSettings ( LPSTR, LPSTR );
  127. extern   WORD  cdecl sosDetDRVVerifySettings( LPSTR, WORD, WORD, WORD, LPSTR );
  128. extern   WORD  cdecl sosDIGIInitForWindows( WORD );
  129. extern   WORD  cdecl sosDIGIUnInitForWindows( WORD );
  130. extern   LPSTR cdecl sosAllocateFarMem      ( WORD, PSTR, WORD * );
  131. extern   LPSTR cdecl sosCreateAliasCS       ( LPSTR );
  132. extern   VOID  cdecl sosFreeSelector        ( LPSTR, DWORD );
  133. extern   LPSTR cdecl sosMAKEDOSPtr          ( PSTR );
  134. extern   VOID  cdecl sosDetDRVSetEnvString  ( DWORD, PSTR );
  135. extern   PSTR  cdecl sosDetDRVGetEnvString  ( DWORD );
  136. extern   VOID  cdecl sosDetDRVEnvStringInit ( LPSTR, LPSTR );
  137. extern   VOID  cdecl sosDRVSetupCallFunctions( LPSTR, LPSTR, LPSTR, LPSTR );
  138. extern   WORD  cdecl sosDRVGetFreeMemory     ( VOID );
  139. extern   WORD  cdecl sosDRVAllocVDSStruct    ( WORD, WORD *, WORD * );
  140. extern   WORD  cdecl sosDRVFreeVDSStruct     ( WORD, WORD );
  141. extern   WORD  cdecl sosDRVIsWindowsActive   ( VOID );
  142. extern   WORD  cdecl sosDRVVDSGetBuffer    ( WORD );
  143. extern   WORD  cdecl sosDRVVDSFreeBuffer   ( WORD );
  144. extern   WORD  cdecl getDS( VOID );
  145. extern   WORD  cdecl sosDRVMakeDMASelector   ( WORD );  
  146. extern   WORD  cdecl sosDRVFreeDMASelector   ( WORD );  
  147.  
  148.  
  149. extern   void  cdecl sosTIMERDRVInit( int wRate, void ( far * )( void ) );
  150. extern   void  cdecl sosTIMERDRVUnInit( void );
  151. extern   void  cdecl sosTIMERDRVHandler( void );
  152. extern   void  cdecl sosTIMERDRVFHandler( void );
  153. extern   void  cdecl sosTIMERDRVEnable( void );
  154. extern   void  cdecl sosTIMERDRVDisable( void );
  155. extern   void  cdecl sosTIMERDRVCallOld( void );
  156. extern   void  cdecl sosTIMERDRVSetRate( WORD );    
  157. extern   void  cdecl sosDIGITimer_Start( void );
  158. extern   void  cdecl sosDIGITimer_End( void );
  159. extern   void  cdecl sosDIGIDrv_Start( void );
  160. extern   void  cdecl sosDIGIDrv_End( void );
  161. #ifdef __cplusplus
  162. }
  163. #endif 
  164.  
  165. // external functions for handling system initialization and 
  166. // uninitialization
  167. WORD  sosEXDIGInitDriver               (  WORD, WORD, WORD, LPSTR,
  168.                                           _SOS_HARDWARE far *, WORD *  );
  169. WORD  sosEXDIGIUnInitDriver            (  VOID  );
  170.  
  171. WORD  sosEXDETFindDriver               (  WORD, LPSTR, _SOS_HARDWARE far *,
  172.                                           _SOS_CAPABILITIES far *  );
  173.  
  174. // memory locking prototypes
  175. VOID  sosDIGICaps_Start( VOID );
  176. VOID  sosDIGICaps_End( VOID );
  177. VOID  sosDIGIErr_Start( VOID );
  178. VOID  sosDIGIErr_End( VOID );
  179. VOID  sosDIGITmr_Start( VOID );
  180. VOID  sosDIGITmr_End( VOID );
  181. VOID  sosDIGIStart_Start( VOID );
  182. VOID  sosDIGIStart_End( VOID );
  183. VOID  sosDIGIPlyng_Start( VOID );
  184. VOID  sosDIGIPlyng_End( VOID );
  185. VOID  sosDIGIRate_Start( VOID );
  186. VOID  sosDIGIRate_End( VOID );
  187. VOID  sosDIGIDone_Start( VOID );
  188. VOID  sosDIGIDone_End( VOID );
  189. VOID  sosDIGIDetec_Start( VOID );
  190. VOID  sosDIGIDetec_End( VOID );
  191. VOID  sosDIGIInit_Start( VOID );
  192. VOID  sosDIGIInit_End( VOID );
  193. VOID  sosDIGILoad_Start( VOID );
  194. VOID  sosDIGILoad_End( VOID );
  195. VOID  sosDIGICntl_Start( VOID );
  196. VOID  sosDIGICntl_End( VOID );
  197.  
  198. #pragma pack()
  199.  
  200. #endif
  201.